iT邦幫忙

2021 iThome 鐵人賽

DAY 2
2
自我挑戰組

一起用python寫UI系列 第 2

Day2 用python寫UI-聊聊tkinter的基本操作~

  • 分享至 

  • xImage
  •  

今天要介紹視窗設定,會分成三個部份來講,建立視窗、設定視窗大小跟視窗的其他基本設定,那我們不多說就直接開始吧~(@^0^@)/

♠♣今天的文章大綱♥♦

  • 建立視窗
  • 設定視窗大小
  • 視窗的其他基本設定

建立視窗

用Tk()方法建立一個根視窗(root window),之後會在這個視窗建立控件(widget)。

import tkinter as tk
root = tk.Tk()

root.mainloop()

mainloop()是讓程式繼續執行的指令,如果要結束程式就按右上的關閉按鈕。
下面這張圖就是剛剛程式的執行結果⬇⬇⬇
https://ithelp.ithome.com.tw/upload/images/20210912/20140047S0ngmNDuyz.png

因為我們沒有去設定視窗的大小,所以目前跑出來的視窗會是預設好的大小。


設定視窗大小

#root.geometry()方法一

import tkinter as tk
root = tk.Tk()

print(root.winfo_screenwidth()) #輸出螢幕寬度
print(root.winfo_screenheight()) #輸出螢幕高度
root.geometry("350x200+200+300")

root.mainloop()

#root.geometry()方法二

import tkinter as tk
root = tk.Tk()

print(root.winfo_screenwidth()) #輸出螢幕寬度
print(root.winfo_screenheight()) #輸出螢幕高度
w=350  #width
r=200  #height
x=200  #與視窗左上x的距離
y=300  #與視窗左上y的距離
root.geometry('%dx%d+%d+%d' % (w,r,x,y))

root.mainloop()

  • geometry(“widthxheight+x+y”)
    width是視窗的寬,height是視窗的高,中間用x做區隔,後面的+x+y是視窗距離螢幕的距離,若是+開頭後面接x代表視窗左邊的距離與螢幕左邊的距離,若是-開頭後面接x代表視窗右邊的距離與螢幕右邊的距離;那若是+開頭後面接y代表視窗上邊的距離與螢幕上邊的距離,若是-開頭後面接y代表視窗下邊的距離與螢幕下邊的距離。

下圖為執行結果⬇⬇⬇
https://ithelp.ithome.com.tw/upload/images/20210912/20140047qzuX2rvwr5.png

  • root.winfo_screenwidth()、root.winfo_screenheight()
    可以用這兩行知道螢幕的寬度跟高度,結果會顯示在 Pythone shell 上面。

下圖為執行結果⬇⬇⬇
https://ithelp.ithome.com.tw/upload/images/20210912/20140047GrTIj62o0A.png

以下是視窗大小的其他設定

  • maxsize(width,height)、minsize(width,height)
    設定在拖曳時最大視窗跟最小視窗的寬(width)與高(height)。

  • resizable(True,True)
    設定是否能更改視窗大小,前面的參數控制寬,後面的參數控制高。
    想讓視窗固定寬高可使用resizable(0,0)。

  • iconify()、state(“zoomed”)
    最小化視窗、最大化視窗。


視窗的其他基本設定

import tkinter as tk
root = tk.Tk()

root.geometry("250x200+200+300")
root.title('cuteluluWindow')
root.configure(bg="#7AFEC6")    #可以直接打顏色名稱或是找色碼表的代號

root.iconbitmap('heart_green.ico')

root.mainloop()
  • title()
    設定視窗標題。

  • configure(bg=“color”)
    設定視窗背景顏色,可以直接打顏色名稱,例如:green,或是像我這樣去找色碼表的代號打進去。

  • iconbitmap(“xx.ico”)
    設定視窗圖示,圖示可以去找網路上有免費提供的.ico的檔案,記得如果路徑不是放在跟程式碼同一個地方,要自己設好路徑,才不會跑錯。

下圖為執行結果⬇⬇⬇
https://ithelp.ithome.com.tw/upload/images/20210912/20140047locY4FFuq3.png
可以看到上方的圖示跟標題都有改變,背景也從預設的灰色改成自行設定的綠色


明天會進入標籤Label方法囉,有任何問題歡迎留言討倫~(∩^o^)⊃━☆
/images/emoticon/emoticon12.gif


上一篇
Day1 用python寫UI-前言
下一篇
Day3 用python寫UI-聊聊視窗控件配置管理員-pack方法
系列文
一起用python寫UI30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言